home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / lib / chunky.lha / chunky / Conv24ToGrey.ass < prev    next >
Encoding:
Text File  |  1980-01-14  |  498 b   |  31 lines

  1. ; Conv24ToGrey(dst:a0:PTR TO chunky,src:a1:PTR TO chunky32)
  2.  
  3.     machine    mc68020
  4.  
  5.     xdef    _Conv24ToGrey
  6. _Conv24ToGrey
  7.     movem.l    d2-d3,-(a7)
  8.     move.l    (4,a0),d2
  9.     muls.l    (a0),d2        ; d2 contains count of pixels
  10.     move.l    (8,a0),a0        ; dst8
  11.     move.l    (8,a1),a1        ; src32
  12. .loop    move.l    (a1)+,d0
  13.  
  14.     move.l    d0,d1
  15.     move.l    d0,d3
  16.     lsr.l    #8,d1
  17.     lsr.l    #8,d3
  18.     lsr.l    #8,d3
  19.     and.l    #$ff,d0
  20.     and.l    #$ff,d1
  21.     and.l    #$ff,d3
  22.     add.l    d1,d0
  23.     add.l    d3,d0
  24.     divs.l    #3,d0
  25.  
  26.     move.b    d0,(a0)+
  27.     subq.l    #1,d2
  28.     bgt.s    .loop
  29.     movem.l    (a7)+,d2-d3
  30.     rts
  31.